#include<stdio.h>
#include<unistd.h>
#include<sys/types.h>
#include<sys/stat.h>
#include<fcntl.h>
#include<string.h>

#define filename "log.txt"

//int main()
//{
//    fprintf(stdout,"hello normal message\n");
//
//    fprintf(stderr,"hello error message\n");
//    return 0;
//}

int main()
{
    //close(1);
    int fd=open(filename,O_CREAT|O_WRONLY|O_TRUNC,0666);
    if(fd<0)    //因为文件描述符是数组的下标，所以不可能小于0，小于0就是失败
    {
        perror("open file");
        return 1;
    }
    
    //重定向
    dup2(fd,1);
    printf("fd: %d\n",fd);
    const char *msg="hello Linux\n";
    int cnt=5;
    while(cnt)
    {
        write(1,msg,strlen(msg));
        cnt--;
    }
    close(fd);
    return 0;
}
